//
//  Person.swift
//  swift微博
//
//  Created by qlwl on 17/2/25.
//  Copyright © 2017年 qlwl. All rights reserved.
//

import UIKit

class Person: NSObject {
    //getter & setter
    //没有成员变量，只能用_name 假装一个成员变量 ，set方法不会记录值
    var _name:String?
    var name:String? {
        get{
            return _name
        }
        set{
            _name = newValue
        }
    }
    // OC中定义属性时，有一个readonly ——> 重写getter方法
    var title:String?{
        //之重写get方法，没有写set方法，是只读属性
        get{
            return "老王"
        }
    }
    //只读属性的简写
    //又称为计算型属性 -> 本身不保存内容，都是通过计算获取结果的
    // 类似一个函数
    // - 没有参数
    // - 一定有返回值
    var title2:String?{
        return "老王"
    }
    // 懒加载的 title 本质是个闭包
    // 懒加载会在第一次访问的时候执行，闭包执行结束之后会把值保存到title3中
    // 后续条用， 直接返回title3 的内容
    // 懒加载的属性会分配到控件存储值
    lazy var title3:String = {
        return "Lazy" + (self.name ?? "")
    }()
    
    
}
